extends Control

# 主菜单脚本

# 初始化
func _ready():
	print("主菜单初始化")
	
	# 如果存在游戏管理器，设置UI状态
	if has_node("/root/GameManager"):
		var game_manager = get_node("/root/GameManager")
		var ui_manager = game_manager.ui_manager
		if ui_manager:
			ui_manager.change_state(ui_manager.UIState.MAIN_MENU)

# 开始游戏按钮回调
func _on_start_button_pressed():
	print("开始新游戏")
	
	# 如果存在游戏管理器，切换到世界状态
	if has_node("/root/GameManager"):
		var game_manager = get_node("/root/GameManager")
		game_manager.change_game_state(game_manager.GameState.WORLD)
	else:
		print("错误: 找不到GameManager")
		
		# 临时解决方案：直接加载战斗场景进行测试
		get_tree().change_scene_to_file("res://scenes/battle/battle_scene.tscn")

# 加载游戏按钮回调
func _on_load_button_pressed():
	print("加载游戏")
	
	# 如果存在游戏管理器，加载游戏
	if has_node("/root/GameManager"):
		var game_manager = get_node("/root/GameManager")
		game_manager.load_game()
	else:
		print("错误: 找不到GameManager")

# 设置按钮回调
func _on_settings_button_pressed():
	print("打开设置")
	
	# 这里将来会实现设置界面
	# 临时实现：显示设置未实现的消息
	var settings_label = Label.new()
	settings_label.text = "设置功能尚未实现"
	settings_label.position = Vector2(640, 400)
	settings_label.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER
	add_child(settings_label)
	
	# 2秒后移除消息
	await get_tree().create_timer(2.0).timeout
	settings_label.queue_free()

# 退出按钮回调
func _on_quit_button_pressed():
	print("退出游戏")
	get_tree().quit()
